package model.technology;
import model.player.*;
import java.util.*;


public class PlayableTechnologyTree extends TechnologyTree
{
	
	private UnitTechnologyTree colonistTree;
	private UnitTechnologyTree explorerTree;
	private UnitTechnologyTree rangedTree;
	private UnitTechnologyTree meleeTree;
	private StructureTechnologyTree capitalTree;
	private StructureTechnologyTree fortTree;
	private StructureTechnologyTree universityTree;
	private StructureTechnologyTree powerPlantTree;
	private StructureTechnologyTree farmTree;
	private StructureTechnologyTree mineTree;
	private StructureTechnologyTree observationTowerTree;
	private ArrayList<TechnologyTreeNode> availableTechnologies;
	
	public PlayableTechnologyTree(ColonistManager ucm, ExplorerManager uem, RangedManager urm, MeleeManager umm, CapitalManager scm, FortManager sfm, UniversityManager sum, ObservationTowerManager sotm, MineManager smm, PowerPlantManager sppm, FarmManager sfam)
	{
		colonistTree = new UnitTechnologyTreeBuilder(ucm).buildTree();
		explorerTree = new UnitTechnologyTreeBuilder(uem).buildTree();
		rangedTree = new UnitTechnologyTreeBuilder(urm).buildTree();
		meleeTree = new UnitTechnologyTreeBuilder(umm).buildTree();
		capitalTree = new StructureTechnologyTreeBuilder(scm).buildTree();
		fortTree = new StructureTechnologyTreeBuilder(sfm).buildTree();
		universityTree = new StructureTechnologyTreeBuilder(sum).buildTree();
		powerPlantTree = new StructureTechnologyTreeBuilder(sppm).buildTree();
		farmTree = new StructureTechnologyTreeBuilder(sfam).buildTree();
		mineTree = new StructureTechnologyTreeBuilder(smm).buildTree();
		observationTowerTree = new StructureTechnologyTreeBuilder(sotm).buildTree();
	}
	
	public String toString()
	{
		return "Playable Technology Tree";
	}
}